﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DynConDevCorp.OpenArch.SmartData.Interfaces
{
    public interface ISmartDispatchable
    {
        void Dispatch(ISmartDispatcher dispatcher, object context);
    }


    public interface ISmartDispatcher
    {
        void ProcessDispatch(ISmartEntity target, object context);
        void ProcessDispatch(ISmartEntityCollection target, object context);
        void ProcessDispatch(ISmartEntityLink target, object context);
        void ProcessDispatch(ISmartField target, object context);
        void ProcessDispatch(ISmartNullableField target, object context);
        void ProcessDispatch(ISmartDisplayFormatter target, object context);
        
    }
}
